﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using System.Xml.Serialization;

namespace AddIn.EA.Architecture.ComponentLogic.StandardProject
{
    [Serializable()]
    public class MethodStandardProject : ISerializable
    {
        public MethodStandardProject()
        {
            Builders = new List<AddIn.EA.Architecture.ComponentLogic.StandardProject.Builders.ElementBuilder>();
        }

        /// <summary>
        /// Used to identify a unique method.
        /// </summary>
        public Int32 Sequence { get; set; }

        [XmlElement("Name")]
        public String Name { get; set; }
        [XmlElement("Scope")]
        public ElementModel.Scope Scope { get; set; }
        [XmlElement("Parameters")]
        public String Parameters { get; set; }
        [XmlElement("Return")]
        public String Return { get; set; }
        [XmlElement("Notes")]
        public String Notes { get; set; }
        [XmlElement("IsAbstract")]
        public Boolean IsAbstract { get; set; }
        [XmlElement("IsStatic")]
        public Boolean IsStatic { get; set; }
        [XmlElement("Builders")]
        public List<Builders.ElementBuilder> Builders { get; set; }

        #region ISerializable Members

        public void GetObjectData(SerializationInfo info, StreamingContext context)
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}
